Artificial intelligence (AI) can enable computers to perform a variety of complicated tasks, including tasks related to cognitive functions, such as “learning,” that are typically associated with humans. Several approaches to AI are prevalent, including machine-learning techniques. In machine-learning systems, a computer may be programmed to parse data, learn from the data, and make predictions from real-world inputs. One machine-learning model, referred to as an artificial neural network, was inspired by the interconnections of neurons in a biological brain. Neural networks and other machine-learning systems are widely used to perform a variety of AI-related tasks, including speech recognition and computer vision.
Unfortunately, neural networks are often extremely computationally intensive. For example, convolutional neural networks (CNN), which typically apply convolution operations to an input matrix in an effort to emulate the response of a biological neuron to visual stimuli, may tax even the most advanced computing systems. Although researchers have begun using domain-transformation-based algorithms (such as Fast Fourier Transform (FFT)-based algorithms and so-called Winograd minimal filtering algorithms) in an attempt to reduce the number of arithmetic operations required to perform, and thus improve the performance of, the convolution operations required by CNNs, the sheer number of convolution operations typically required by a CNN means that even small gains in neural network efficiency and/or throughput may result in tremendous computational and/or energy savings. The instant disclosure, therefore, identifies and addresses a need for systems and methods for improving the efficiency and/or performance of machine-learning systems and other processing systems in which convolution operations are required or useful.